﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SistemaServidor.DataAccess;
using SistemaServidor.Classes;

namespace SistemaServidor
{
    public class ProveedorServices : IProveedorServices
    {
        public int IdDelProveedorConectado { get; set; }

        public string RegistrarProveedor(string nombre, string contraseña)
        {
            string codigoGenerado = GenerarCodigoDelProveedor(nombre);

            ProveedorDataAccess.RegistrarProveedor(new Proveedor(){Codigo = codigoGenerado, Nombre=nombre, Contraseña=contraseña});

            return codigoGenerado;
        }

        public List<Pedido> ObtenerTodosLoPedidos()
        {
            return ProveedorDataAccess.ObtenerTodosLosPedidosAlProveedor(IdDelProveedorConectado);
        }

        public string AutenticarProveedor(string codigo, string contraseña)
        {
            IdDelProveedorConectado = ProveedorDataAccess.AutenticarProveedor(codigo, contraseña);
            if (IdDelProveedorConectado == -1)
                return "0";
            else
                return "1";
        }

        private string GenerarCodigoDelProveedor(string nombreDelProveedor)
        {
            return nombreDelProveedor[0] + DateTime.Now.Millisecond.ToString() + nombreDelProveedor[1] + DateTime.Now.Minute.ToString();
 
        }


        public void RegistrarProductosProveedor(List<Producto> productos)
        {
            for (int i = 0; i < productos.Count; i++)
            {
               ProveedorDataAccess.RegistrarProductoProveedor(productos[i]);
            }
        }


        public List<Producto> ObtenerTodoLosProductos()
        {
            return ProveedorDataAccess.ObtenerProductos();
        }
    }
}
